package pck_tramitedocu.pck_src.pck_dao;

import java.util.ArrayList;
import java.util.Map;
import net.sf.jasperreports.engine.JasperPrint;
import pck_tramitedocu.pck_src.pck_pojos.Cls_Bandeja_Documento;
import pck_tramitedocu.pck_src.pck_pojos.Cls_Bandeja_destinatarios_derivacion;
import pck_tramitedocu.pck_src.pck_pojos.Cls_Documento_Historial;
import pck_tramitedocu.pck_src.pck_pojos.Cls_Notificaciones;
import pck_tramitedocu.pck_src.pck_pojos.Cls_Visto;
import pck_tramitedocu.pck_src.pck_pojos.Cls_documento;
import pck_tramitedocu.pck_src.pck_pojos.TramiteDocuException;

public abstract interface Itf_dao_documento {

    public abstract String agregarDocumentoDao(Map<String, Object> paramMap) throws TramiteDocuException;
    public abstract String AsignarCorrelativoADocumentoDao(Map<String, Object> mp_empresa) ;

    public abstract boolean actualizarDocumentoDao(Cls_documento paramCls_documento);

    public abstract boolean eliminarDocumentoDao(String paramString);

    public abstract Cls_documento obtenerDocumentoConTodaInformacionDao(Map<String, String> paramMap) throws TramiteDocuException;

    public abstract ArrayList obtenerTodosDocumentoDao(Map<String, String> paramMap);

    public abstract Object obtenerTodosDocumentoPersonalesDao(Map<String, String> paramMap);

    public abstract Cls_Bandeja_Documento obtenerDocumentoPersonalBandejaDao(Map<String, String> paramMap) throws TramiteDocuException;

    public abstract int obtenerCantidadDeRegistrosDao(Map<String, String> paramMap);

    public abstract int obtenerCantidadDeDocumentosPersonalesDao(Map<String, String> paramMap);

    public abstract JasperPrint obtenerDocumentoPrintDao(Map<String, String> paramMap);

    public abstract String actualizarBandejaDocumentoDao(Map<String, String> paramMap) throws TramiteDocuException;

    public abstract String delegarDocumentoDesdeBandejaDao(Map<String, String> paramMap) throws TramiteDocuException;

    public abstract boolean necesitaGenerarFlashDao(Map<String, String> paramMap);

    public abstract String mantenimientoExtensionDao(Map<String, Object> paramMap);

    public abstract String dipararDocumentoDesdeBandejaParaVistoDao(Map<String, String> paramMap) throws TramiteDocuException;

    public abstract String darVistoDocumentoDesdeBandejaParaRespuestaDao(Map<String, String> paramMap) throws TramiteDocuException;

    public abstract ArrayList<Cls_Documento_Historial> obtenerHistorialDocumentoDao(Map<String, String> paramMap) throws TramiteDocuException;

    public abstract int obtenerCantidadHistorialDao(Map<String, String> map) throws TramiteDocuException;

    public abstract ArrayList<Cls_Visto> obtenerVistoDocumentoDao(Map<String, Object> paramMap) throws TramiteDocuException;

    public abstract String cerrarDocumentoDao(Map<String, Object> paramMap);

    public abstract int puedeImprimirDocumentoDao(Map<String, String> paramMap);

    public abstract String aprobarDocumentoDao(Map<String, Object> paramMap) throws TramiteDocuException;

    public abstract String agregarHistorialDocumentoDao(Map<String, String> paramMap) throws TramiteDocuException;

    public abstract ArrayList<Cls_Notificaciones> obtenerNotificacionesDao(Map<String, String> paramMap);

    public abstract String actualizarDocumentoVistoDao(Map<String, String> paramMap) throws TramiteDocuException;

    public abstract String darPermisosImprimirDao(Map<String, String> paramMap) throws TramiteDocuException;

    public abstract ArrayList<Cls_Bandeja_destinatarios_derivacion> obtenerDestinatariosDeDerivacionDao(Map<String, String> paramMap) throws TramiteDocuException;

    public abstract String agregarBorradorDao(Map<String, Object> mp_documento) throws TramiteDocuException;

    public abstract String eliminarPositBorradorDeBandejaDao(Map<String, Object> mp_documento) ;

    public abstract ArrayList<String> obtenerAños();

    public abstract Cls_documento obtenerCabeceraHistorialDocumentoDao(Map<String, String> paramMap) throws TramiteDocuException;
}

